Communication paths for robot arms

ABSTRACT

A robot arm having a compound joint between a first limb of the arm and a second limb of the arm, the second limb of the arm being distal of the first limb, the arm comprising: a coupler element coupled to the first limb of the arm by a first revolute joint having a first rotation axis and to the second limb of the arm by a second revolute joint having a second rotation axis; first and second rotational position sensors for sensing the configuration of the arm about the first and second joints respectively; first and second torque sensors for sensing the torque applied about the first and second joints respectively; a control unit for controlling the operation of the arm; a first communications unit borne by the arm and located proximally of the coupler and a second communications unit borne by the arm and located distally of the coupler, each communications unit being capable of encoding data received from one or more of the position and/or torque sensors in a first data format into data packets and transmitting those packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the first position sensor is connected by a physical data link running within an exterior wall of the first limb to the first communications unit to so as to pass data representing sensed position about the first joint to the first communications unit for encoding and the first torque sensor is connected by a physical data link running within an exterior wall of the second limb to the second communications unit to so as to pass data representing sensed torque about the first joint to the second communications unit for encoding.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a National Stage of International Application No. PCT/GB2016/052261 filed on Jul. 22, 2016, which claims priority to Great Britain Application No. 1512964.6 filed on Jul. 22, 2015, the contents of which are hereby incorporated by reference in their entireties.

BACKGROUND

This invention relates to communication within robot arms.

Robots that are required to manipulate objects, which may for example be industrial or surgical robots, frequently have an arm composed of rigid elements which are linked together in series by a number of flexible joints. The joints could be of any type but are typically revolute joints, or a combination of revolute and prismatic joints. The arm extends from a base, whose location might be fixed or moveable, and terminates in a tool or an attachment for a tool. The tool could, for example be a gripping, cutting, illuminating, irradiating or imaging tool. The final joint in the arm may be termed the wrist. The wrist may permit motion about only a single axis, or it may be a complex or compound articulation, which permits rotation about multiple axes. As disclosed in our co-pending patent application PCT/GB2014/053523, the wrist may provide two roll joints whose axes are generally longitudinal to the arm, separated by two pitch/yaw joints, whose axes are generally transverse to the arm.

In the case of a surgical robot there are a number of important criteria that influence the design of the distal joint(s) of the arm.

1. It is desirable for the arm, and particularly its distal portion where the wrist is located, to be small in size. That allows multiple such robot arms to work in close proximity and hence opens up a wider range of surgical procedures that the arm can perform.

2. It is desirable for the outer profile of the distal portion of the arm to be circularly symmetrical about the length of the arm. This allows the distal portion to be rotated longitudinally without having to be repositioned if it is close to another robot, to some other equipment or to the patient.

3. It is desirably for the joints to be capable of delivering a high torque, so that they can carry heavier tools and deliver high acceleration to the tool tip.

4. It is desirable for the joints to be stiff, with little or no backlash or elasticity, so that when a tool tip has been positioned it will be fixed in position. A conventional approach to minimising backlash is to designate one or more gear elements as sacrificial, but this requires a high level of maintenance, and can result in worn gear particles being liberated within the arm.

5. It is desirable for all articulations to have position and force/torque sensors, so that the control mechanism can take data from those sensors.

6. It is desirable for the distal portion of the robot arm to be as light as possible, to reduce the force that must be exerted by more proximal joints of the robot arm.

7. A typical robot arm carries cables that provide power to its drive motors and perhaps to a tool, and carry signals back from sensors such as position, torque and imaging sensors. It is desirable for the arm to include a path for such cables to pass in the interior of the arm.

The number of important criteria makes it difficult to design an arm that best balances all the requirements.

One particular problem is how to arrange for the sensors and motors of the arm to communication with, for example, a central control controller which may be remote from the arm. If the size of the arm is to be minimised the paths of communication must be arranged so that they make efficient use of the space available.

There is a need for an improved communication arrangement for a robot arm.

SUMMARY

According to the present invention there is provided a robot arm having a compound joint between a first limb of the arm and a second limb of the arm, the second limb of the arm being distal of the first limb, the arm comprising: a coupler element coupled to the first limb of the arm by a first revolute joint having a first rotation axis and to the second limb of the arm by a second revolute joint having a second rotation axis; first and second rotational position sensors for sensing the configuration of the arm about the first and second joints respectively; first and second torque sensors for sensing the torque applied about the first and second joints respectively; a control unit for controlling the operation of the arm; a first communications unit borne by the arm and located proximally of the coupler and a second communications unit borne by the arm and located distally of the coupler, each communications unit being capable of encoding data received from one or more of the position and/or torque sensors in a first data format into data packets and transmitting those packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the first position sensor is connected by a physical data link running within an exterior wall of the first limb to the first communications unit to so as to pass data representing sensed position about the first joint to the first communications unit for encoding and the first torque sensor is connected by a physical data link running within an exterior wall of the second limb to the second communications unit to so as to pass data representing sensed torque about the first joint to the second communications unit for encoding.

The second position sensor may be connected by a physical data link running within an exterior wall of the second limb to the first communications unit to so as to pass data representing sensed position about the second joint to the second communications unit for encoding.

The second torque sensor may be connected by a physical data link running within an exterior wall of the second limb to the second communications unit to so as to pass data representing sensed torque about the second joint to the second communications unit for encoding.

The or each physical data link may be an electrical cable.

Each communications unit may be capable of buffering data received from position and/or torque sensors and subsequently transmitting that data to the control unit.

The second communications unit may be connected to the control unit via the first communications unit.

The first limb may comprise motors for driving motion about the first and second joints. The motors may be connected by physical data links to the first communications unit for receiving command signals therefrom.

The first and second axes may be orthogonal. The first and second axes may intersect each other.

The first and second joints may be part of a wrist of the robot.

According to a second aspect of the present invention there is provided a robot arm comprising a first limb, and a second limb distal of the first limb and coupled to the first limb by a single revolute joint for articulating the first and second limbs with respect to each other about a rotation axis; the arm comprising: a torque sensor for sensing the torque about the joint; a control unit for controlling the operation of the robot arm; and a first communications unit borne by the arm and located distally of the revolute joint, the communications unit being capable of encoding data received from the torque sensor in a first data format into data packets and transmitting those data packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the torque sensor is connected by a physical data link running along the second limb to the first communications unit so as to pass data representing the sensed torque about the joint to the first communications unit for encoding.

The robot arm may further comprise: a rotational position sensor for sensing the configuration of the arm about the rotation axis; and a second communications unit borne by the arm and located proximally of the revolute joint, the second communications unit being capable of encoding data received from the position sensor in a first data format into data packets and transmitting those data packets to the control unit in accordance with a packet-based data protocol different from the first data format. The rotational position sensor may be connected by a physical data link running along the first limb to the second communications unit so as to pass data representing the configuration of the arm about the rotation axis to the second communications unit for encoding.

The second communication unit may be borne by the first limb.

The robot arm may further comprise a drive gear fast with the second limb and rotatably mounted about the rotation axis so as to rotate relative to the first limb. The position sensor may be fast with the first limb and associated with a position scale fast with the second limb.

The position sensor may be mounted to the first limb and the position scale be arranged around the rotation axis.

The first communications unit may be connected to the control unit via the second communications unit.

The robot arm may further comprise a rotational position sensor for sensing the configuration of the arm about the rotation axis. The first communications unit may further be capable of encoding data received from the position sensor in a first data format into data packets and transmitting those data packets to the control unit in accordance with a packet-based data protocol different from the first data format. The rotational position sensor may be connected by a physical data link running along the second limb to the first communications unit so as to pass data representing the configuration of the arm about the rotation axis to the first communications unit for encoding.

The robot arm may further comprise a drive gear fast with the second limb and rotatably mounted about the rotation axis so as to rotate relative to the first limb. The position sensor may be fast with the drive gear and associated with a position scale fast with the first limb.

The position scale may be arranged around the rotation axis.

The first communications unit may be borne by the second limb.

The robot arm may further comprise a drive gear fast with the second limb and rotatably mounted about the rotation axis so as to rotate relative to the first limb. The torque sensor may couple the drive gear to the second limb.

Each physical data link may be an electrical cable.

Each communications unit may be capable of buffering data received from position and/or torque sensors and subsequently transmitting that data to the control unit.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described by way of example with reference to the accompanying drawings.

In the drawings:

FIG. 1 is a general representation of a surgical robot arm.

FIG. 2 shows in more detail the rotation axes at the wrist of the arm of FIG. 1.

FIG. 3 shows part of a first wrist mechanism from distally and one side.

FIG. 4 shows part of the first wrist mechanism from distally and the other side.

FIG. 5 shows part of a second wrist mechanism from proximally and one side.

FIG. 6 shows part of the second wrist mechanism from distally and one side.

FIG. 7 shows a third wrist mechanism from distally and one side.

FIG. 8 shows the third wrist mechanism from distally and the other side.

FIG. 9 shows the third wrist mechanism in section on a central longitudinal plane viewed from one side.

FIG. 10 shows the third wrist mechanism in section on a central longitudinal plane viewed from the other side.

FIG. 11 illustrates communication paths in a robot arm.

FIG. 12 illustrates an alternative arrangement of communication paths in a robot arm.

FIG. 13 illustrates communication paths in limbs of a robot arm separated by a revolute joint.

FIG. 14 shows a terminal module for a robot arm in longitudinal cross-section.

DETAILED DESCRIPTION

The wrist mechanisms to be described below have been found to provide compact and mechanically advantageous arrangements for at least some of the joints of a robot wrist, or for other applications.

FIG. 1 shows a surgical robot having an arm 1 which extends from a base 2. The arm comprises a number of rigid limbs 3. The limbs are coupled by revolute joints 4. The most proximal limb 3 a is coupled to the base by joint 4 a. It and the other limbs are coupled in series by further ones of the joints 4. A wrist 5 is made up of four individual revolute joints. The wrist 5 couples one limb (3 b) to the most distal limb (3 c) of the arm. The most distal limb 3 c carries an attachment 8 for a surgical instrument or tool 9. Each joint 4 of the arm has one or more motors 6 which can be operated to cause rotational motion at the respective joint, and one or more position and/or torque sensors 7 which provide information regarding the current configuration and/or load at that joint. For clarity, only some of the motors and sensors are shown in FIG. 1. The arm may be generally as described in our co-pending patent application PCT/GB2014/053523. The attachment point 8 for a tool can suitably comprise any one or more of: (i) a formation permitting a tool to be mechanically attached to the arm, (ii) an interface for communicating electrical and/or optical power and/or data to and/or from the tool, and (iii) a mechanical drive for driving motion of a part of a tool. In general it is preferred that the motors are arranged proximally of the joints whose motion they drive, so as to improve weight distribution. As discussed below, controllers for the motors, torque sensors and encoders are distributed with the arm. The controllers are connected via a communication bus to control unit 10.

A control unit 10 comprises a processor 11 and a memory 12. Memory 12 stores in a non-transient way software that is executable by the processor to control the operation of the motors 6 to cause the arm 1 to operate in the manner described herein. In particular, the software can control the processor 11 to cause the motors (for example via distributed controllers) to drive in dependence on inputs from the sensors 7 and from a surgeon command interface 13. The control unit 10 is coupled to the motors 6 for driving them in accordance with outputs generated by execution of the software. The control unit 10 is coupled to the sensors 7 for receiving sensed input from the sensors, and to the command interface 13 for receiving input from it. The respective couplings may, for example, each be electrical or optical cables, or may be provided by a wireless connection. The command interface 13 comprises one or more input devices whereby a user can request motion of the arm in a desired way. The input devices could, for example, be manually operable mechanical input devices such as control handles or joysticks, or contactless input devices such as optical gesture sensors. The software stored in memory 12 is configured to respond to those inputs and cause the joints of the arm to move accordingly, in compliance with a pre-determined control strategy. The control strategy may include safety features which moderate the motion of the arm in response to command inputs. Thus, in summary, a surgeon at the command interface 13 can control the robot arm 1 to move in such a way as to perform a desired surgical procedure. The control unit 10 and/or the command interface 13 may be remote from the arm 1.

FIG. 2 shows the wrist 5 of the robot in more detail. The wrist comprises four revolute joints 300, 301, 302, 303. The joints are arranged in series, with a rigid part of the arm extending from each joint to the next. The most proximal joint 300 of the wrist joins arm part 4 b to arm part 310. Joint 300 has a “roll” rotation axis 304, which is directed generally along the extent of the limb 4 b of the arm that is immediately proximal of the articulations of the wrist. The next most distal joint 301 of the wrist joins arm part 310 to arm part 311. Joint 301 has a “pitch” rotation axis 305 which is perpendicular to axis 304 in all configurations of joints 300 and 301. The next most distal joint 302 of the wrist joins arm part 310 to arm part 311. Joint 302 has a “yaw” rotation axis 306 which is perpendicular to axis 305 in all configurations of joints 301 and 302. In some configurations of the wrist, axis 306 is also perpendicular to axis 304. The next most distal joint of the wrist 303 joins arm part 311 to arm part 4 c. Joint 303 has a “roll” rotation axis 307 which is perpendicular to axis 306 in all configurations of joints 302 and 303. In some configurations of the wrist, axis 307 is also perpendicular to axis 305 and parallel with (and preferably collinear with) axis 304. It is preferable for axes 305 and 306 to intersect each other, since this gives a particularly compact configuration. Joints 300 and 303 may be positioned so that axes 304 and 307 can pass through the intersection of axes 305, 306 for some configurations of the wrist.

This design of wrist is advantageous in that it allows a wide range of movement from a tool attached to the attachment point 8 at the distal end of arm part 4 c, but with the wrist being capable of being assembled in a relatively compact form and without there being singularities at certain parts of the range of motion that could demand excessively high rates of motion at individual joints.

FIGS. 3 and 4 show one example of a mechanism suitable for implementing part of the wrist 5 of the arm 1 of FIG. 1. FIGS. 3 and 4 concentrate (as to FIGS. 5 to 10) on the mechanism associated with the joints designated 301 and 302 in FIG. 2.

In the region of the wrist 5 the rigid arm parts 310, 311 have hollow outer shells or casings 310′, 310″, 311′. The shells define the majority of the exterior surface of the arm, and include a void which is partly or fully encircled by the exterior wall of the respective shell and within which the motors, sensors, cables and other components of the arm can be housed. The shells could be formed of a metal, for example an aluminium alloy or steel, or from a composite, for example a fibre-reinforced resin composite such as resin-reinforced carbon fibre. The shells constitute part of the rigid structure of the arm parts that attaches between the respective joints. The shells may contain a structural framework as shown later in relation to the embodiment of FIG. 7.

In FIGS. 3 and 4, for clarity the shell of arm part 310 is shown in two parts: 310′ and 310″, both of which are drawn in outline and exploded from each other. The shells of arm parts 4 b and 4 c are omitted, as is the mechanism associated with joints 300 and 303. The shell of arm part 311 is shown in part, the majority extending from spur 311′.

The shell of arm part 310 (constituted by shell parts 310′ and 310″) and the shell of arm part 311 (which extends from spur 311′) are movable with respect to each other about two rotation axes, shown at 20 and 21. These correspond to axes 305, 306 of FIG. 2. Axes 20 and 21 are orthogonal. Axes 20 and 21 intersect. A central coupler 28 is mounted to arm part 310 by bearings 29, 30. The coupler extends between the bearings 29, 30. The bearings 29, 30 hold the coupler fast with arm part 310 except that they permit relative rotation of the coupler and that arm part about axis 20, thus defining a revolute joint corresponding to joint 301 of FIG. 2. A further bearing 31 attaches the distal shell connector spur 311′ to the coupler 28. Bearing 31 holds the distal shell connector spur 311′ fast with the coupler 28 except for permitting relative motion of the spur and the coupler about axis 21, thus defining a revolute joint corresponding to joint 302 of FIG. 2.

Two electric motors 24, 25 (see FIG. 4) are mounted in arm part 310. The motors is drive respective drive shafts 26, 27 which extend into the midst of the wrist mechanism.

Shaft 26 drives rotation about axis 20. Shaft 27 drives rotation about axis 21. Drive shaft 26 terminates at its distal end in a worm gear 32. The worm gear 32 engages a bevel gear 33 which is fast with the coupler 28. Drive shaft 27 terminates at its distal end in a worm gear 34. The worm gear 34 engages a gear train shown generally at 35 which terminates in a further worm gear 36. Worm-form pinion gear 36 engages a hypoid-toothed bevel gear 37 which is fast with the distal shell connector 311′.

Gear 33 is formed as a sector gear: that is its operative arc (defined in the example of FIGS. 3 and 4 by the arc of its teeth) is less than 360°.

The gear train 35 is borne by the coupler 28. The gear train comprises an input gear 38 which engages the worm 34. Input gear 38 is located with its rotation axis relative to the coupler 28 being coincident with axis 20. That means that the input gear can continue to engage the worm 34 irrespective of the configuration of the coupler 28 relative to arm part 310 about axis 20. A series of further gears whose axes are parallel with axis 20 transfer drive from the input gear 38 to an output gear 39 on a shaft 40 whose rotation axis relative to the carrier 28 is parallel with but offset from axis 20. Shaft 40 terminates in the worm 36. Shaft 40 extends parallel to axis 20. The gears of gear train 35, together with shaft 40, are borne by the coupler 28.

The operation of the wrist mechanism will now be described. For motion about axis 20, motor 24 is operated to drive shaft 26 to rotate relative to arm part 310. This drives the bevel gear 33 and hence coupler 28 and distal shell spur 311′ to rotate about axis 20 relative to arm part 310. For motion about axis 21, motor 25 is operated to drive shaft 27 to rotate relative to arm part 310. This drives the bevel gear 37 and hence distal shell connector 311′ to rotate about axis 21 relative to arm part 310. It will be observed that if drive shaft 26 is rotated, driving the coupler 28 to rotate, whilst drive shaft 27 remains stationary then gear 38 will also rotate relative to the coupler 28, causing parasitic motion of the distal shell connector spur 311′ about axis 21. To prevent this, the control system 10 of the arm is configured so that when required there is compensatory motion of drive shaft 27 in tandem with motion of drive shaft 26 so as to isolate motion about axis 21 from motion about axis 20. For example, if it is required to cause relative motion of shells 310, 311 about only axis 20 then motor 24 is operated to cause that motion whilst motor 25 is simultaneously operated in such a way as to prevent input gear 38 from rotating relative to carrier 28.

Various aspects of the mechanism shown in FIGS. 3 and 4 are advantageous in helping to make the mechanism particularly compact.

1. It is convenient for bevel gear 33 to be of part-circular form: i.e. its teeth do not encompass a full circle. For example, gear 33 may encompass less than 270° or less than 180° or less than 90°. This allows at least part of the other bevel gear 37 to be located in such a way that it intersects a circle coincident with gear 33, about the axis of gear 33 and having the same radius as the outermost part of gear 33. Whilst this feature can be of assistance in reducing the size of a range of compound joints, it is of particular significance in a wrist of the type shown in FIG. 2, comprising a pair of roll joints with a pair of pitch/yaw joints between them, since in a joint of that type there is a degree of redundancy among the pitch/yaw joints and hence a wide range of positions of the distal end of the arm can be reached even if motion about axis 20 is restricted.

2. It is convenient if the part gear 33 serves rotation about the axis 20 by which the carrier 28 is pivoted to the next-most-proximal arm part 310, as opposed to rotation about axis 21, since the part gear can also be cut away to accommodate shaft 40 intersecting the said circle. That saves space by permitting the worm 36 to be located on the opposite side of bevel gear 33 to the gear train 35. However, in other designs the part gear could serve rotation about axis 21, so gear 37 could be of part-circular form.

3. It is convenient if the worms 32, 34 are located on the opposite side of axis 20 to bevel gear 37: i.e. that there is a plane containing axis 20 on one side of which are the worms 32, 34 and on the other side of which is the bevel gear 37. This helps to provide a compact packaging arrangement.

4. It is convenient if the worm 34 is located on the opposite side of bevel gear 33 from worm 36 and/or that the gear train 35 is located exclusively on the opposite side of bevel gear 33 from worm 36. This again helps to provide a compact packaging arrangement.

5. The gears 33 and/or 37 are conveniently provided as bevel gears since that permits them to be driven from worms located within the plan of their respective external radii. However, they could be externally toothed gears engaged on their outer surfaces by the worms 32, 34 or by radially toothed gears.

6. The bevel gear 33 is conveniently located so as to be interposed between worms 32 and 34. This helps the packaging of the motors 24, 25.

7. The bevel gears and the worm gears that mate with them can conveniently be of hypoid or skew axis, e.g. Spiroid®, form. These gears allow for relatively high torque capacity in a relatively compact form.

FIGS. 5 and 6 show a second form of wrist mechanism suitable for providing joints 301, 302 in a wrist of the type shown in FIG. 2.

As shown in FIG. 5 the wrist comprises a pair of rigid external shells 310′, 311′ which define the exterior surfaces of arm parts 310, 311 respectively of FIG. 2. 310′ is the more proximal of the shells. The arm parts formed of the shells 310′, 311′ can pivot relative to each other about axes 62, 63, which correspond respectively to axes 305, 306 of FIG. 2. Axes 62, 63 are orthogonal. Axes 62, 63 intersect. The shells 310′, 311′ define the exterior of the arm in the region of the wrist and are hollow, to accommodate a rotation mechanism and space for passing cables etc., as will be described in more detail below. The shells could be formed of a metal, for example an aluminium alloy or steel, or from a composite, for example a fibre-reinforced resin composite such as resin-reinforced carbon fibre. The shells constitute the principal rigid structure of the arm parts that attaches between the respective joints.

FIG. 6 shows the same mechanism from distally and one side, with the shell 311′ removed for clarity.

Shell 310′ is coupled to shell 311′ by a cruciform coupler 64. The coupler has a central tube 65 which defines a duct through its centre, running generally along the length of the arm. Extending from the tube are first arms 66, 67 and second arms 68, 69. Each of the shells 310′, 311′ is attached to the coupler 64 by a revolute joint: i.e. in such a way that it is confined to be able to move relative to the coupler only by rotation about a single axis. The first arms 66, 67 attach to shell 310′ by bearings 70, 71 which permit rotation between those first arms and the shell 310′ about axis 62. The second arms 68, 69 attach to shell 311′ by bearings 72, 73 which permit rotation between those is second arms and the shell 311′ about axis 63. A first bevel gear 74 is concentric with the first arms 66, 67. The first bevel gear is fast with the coupler 64 and rotationally free with respect to the proximal one of the two shells 310′. A second bevel gear 75 is concentric with the second arms 68, 69. The second bevel gear is fast with the distal one of the two shells 311″ and rotationally free with respect to the coupler 64.

Two shafts 76, 77 operate the motion of the compound joint. The shafts extend into the central region of the joint from within the proximal one of the shells 310′. Each shaft is attached at its proximal end to the shaft of a respective electric motor (not shown), the housings of the motors being fixed to the interior of the proximal shell 310′. In this way the shafts 76, 77 can be driven by the motors to rotate with respect to the proximal shell 310′.

Shaft 76 and its associated motor operate motion about axis 62. Shaft 76 terminates at its distal end in a worm gear 78 which engages bevel gear 74. Rotation of shaft 76 causes rotation of the bevel gear 74 relative to shell 310′ about axis 62. Bevel gear 74 is fast with the coupler 64, which in turn carries the distal shell 311′. Thus rotation of shaft 76 causes relative rotation of the shells 310′, 311′ about axis 62.

Shaft 77 and its associated motor operate motion about axis 63. In order to do that it has ultimately to drive bevel gear 75 by means of a worm gear 79 carried by the coupler 64. Rotation of that worm gear can cause relative rotation of the coupler and the distal shell 311′. To achieve this, drive is transmitted from the shaft 77 through a pair of gears 80, 81 borne by the carrier 64 to a shaft bearing the worm gear 79. Shaft 77 approaches the carrier 64 from the proximal side. The gears 80, 81 are located on the distal side of the coupler. The shaft 77 passes through the duct defined by tube 65 in the centre of the coupler. To accommodate motion of the coupler 64 relative to the first shell 310′ the shaft 77 has a universal or Hooke's joint 82 along its length. The universal joint 82 lies on axis 62. Instead of a Hooke's joint the shaft could have another form of flexible coupling, for example an elastic coupling (which could be integral with the shaft) or a form of constant velocity joint.

This mechanism has been found to be capable of providing a particularly compact, light and rigid drive arrangement for rotation about axes 62 and 63 without the components of the mechanism unduly restricting motion of the shells. It permits both motors to be housed in the proximal shell which reduces distal weight.

Various aspects of the mechanism shown in FIGS. 5 and 6 are advantageous in helping to make the mechanism particularly compact.

1. It is convenient for bevel gear 74 to be of part-circular form: i.e. its teeth do not encompass a full circle. For example, gear 74 may encompass less than 270° or less than 180° or less than 90°. This allows at least part of the other bevel gear 75 to be located in such a way that it intersects a circle coincident with gear 74, about the axis of gear 74 and having the same radius as the outermost part of gear 74. Whilst this feature can be of assistance in reducing the size of a range of compound joints, it is of particular significance in a wrist of the type shown in FIG. 2, comprising a pair of roll joints with a pair of pitch/yaw joints between them, since in a joint of that type there is a degree of redundancy among the pitch/yaw joints and hence a wide range of positions of the distal end of the arm can be reached even if motion about axis 62 is restricted. As shown in FIG. 6, the bevel gear 74 is of reduced radius in the region not encompassed by its teeth. Part-circular bevel gears of the other embodiments may be formed in the same manner.

2. The gears 74 and/or 75 are conveniently provided as bevel gears since that permits them to be driven from worms located within the plan of their respective external radii. However, they could be externally toothed gears engaged on their outer surfaces by the worms 76, 79, or by radially toothed gears.

4. The bevel gears and the worm gears that mate with them can conveniently be of skew axis, e.g. Spiroid®, form. These allow for relatively high torque capacity in a relatively compact form.

FIGS. 7 to 10 illustrate another form of wrist mechanism. In these figures the shells of arm parts 310, 311 are omitted, exposing the structure within the arm parts.

Proximal arm part 310 has a structural framework 100, which is shown in outline in some of the figures. Distal arm part 311 has a structural framework 101. Arm parts 310 and 311 are rotatable relative to each other about axes 102, 103, which correspond to axes 305, 306 respectively of FIG. 2. A carrier 104 couples the arm parts 310, 311 together. Carrier 104 is attached by bearings 105, 190 to arm part 310.

Those bearings define a revolute joint about axis 102 between arm part 310 and the carrier 104. Carrier 104 is attached by bearing 106 to arm part 311. Those bearings define a revolute joint about axis 103 between arm part 311 and the carrier 104. A first bevel gear 107 about axis 102 is fast with the carrier 104. A second bevel gear 108 about axis 103 is fast with arm part 311.

As with the other mechanisms described herein, the carrier 104 is located inboard of the limbs 310, 311.

Two motors 109, 110 are fixed to the framework 100 of arm part 310. Motor 109 drives a shaft 111. Shaft 111 is rigid and terminates in a worm 118 which engages bevel gear 107. When motor 109 is operated, shaft 111 rotates relative to the proximal arm part 310, driving bevel gear 107 and hence coupler 104 and arm part 311 to rotate relative to arm part 310 about axis 102. Motor 110 drives a shaft 112. Shaft 112 has a worm 113 near its distal end which engages bevel gear 108. To accommodate motion of bevel gear 108 relative to motor 110 when the coupler 104 moves about axis 102 shaft 112 includes a pair of universal joints 114, 115 and a splined coupler 116 which accommodates axial extension and retraction of shaft 112. The final part of shaft 112 is mounted to the coupler 104 by bearing 117.

It is convenient for bevel gear 107 to be of part-circular form: i.e. its teeth do not encompass a full circle. For example, gear 107 may encompass less than 270° or less than 180° or less than 90°. This allows at least part of the other bevel gear 108 to be located in such a way that it intersects a circle coincident with gear 107, about the axis of gear 107 and having the same radius as the outermost part of gear 107. Whilst this feature can be of assistance in reducing the size of a range of compound joints, it is of particular significance in a wrist of the type shown in FIG. 2, comprising a pair of roll joints with a pair of pitch/yaw joints between them, since in a joint of that type there is a degree of redundancy among the pitch/yaw joints and hence a wide range of positions of the distal end of the arm can be reached even if motion about axis 102 is restricted.

The gears 107 and/or 108 are conveniently provided as bevel gears since that permits them to be driven from worms located within the plan of their respective external radii. However, they could be externally toothed gears engaged on their outer surfaces by the worms attached to shafts 111, 112, or by externally toothed gears.

The bevel gears and the worm gears that mate with them can conveniently be of skew axis, e.g. Spiroid®, form. These allow for relatively high torque capacity in a relatively compact form.

Various changes can be made to the mechanisms described above. For example, and without limitation:

-   -   The axes corresponding to axes 305, 306 need not intersect and         need not be orthogonal.     -   The bevel gears or their outer toothed gear equivalents need not         be driven by worms. They could be driven by other gears.     -   Either or both bevel gears could be part gears.     -   In the examples given above, the mechanisms form part of a wrist         for a robot arm.

The mechanisms could be used for other applications, for example for other parts of robot arms, for robot tools, and for non-robotic applications such as control heads for cameras.

As discussed above with reference to FIG. 1, each joint is provided with a torque sensor which senses the torque applied about the axis of that joint. Data from the torque sensors is provided to the control unit 10 for use in controlling the operation of the arm.

FIGS. 9 and 10 shows one of the torque sensors and its mounting arrangement in cross-section. Torque sensor 150 measures the torque applied about axis 103: that is from carrier 104 to distal arm frame 101. As described above, bevel gear 108 is fast with frame 101 and rotatable about axis 103 with respect to the carrier 104. Bevel gear 108 comprises a radially extending gear portion 151, from which its gear teeth 152 extend in an axial direction, and an axially extending neck 153. The neck, the radially extending gear portion and the teeth are integral with each other. The interior and exterior walls of the neck 153 are of circularly cylindrical profile. A pair of roller or ball bearing races 106, 154 fit snugly around the exterior of the neck. The bearings sit in cups in the carrier 104 and hold the neck 153 in position relative to the carrier whilst permitting rotation of the bevel gear 108 relative to the carrier about axis 103.

The torque sensor 150 has a radially extending top flange 155, an axially elongate torsion tube 156 which extends from the top flange, and an internally threaded base 157 at the end of the torsion tube opposite the flange. The top flange 155 abuts the gear portion 151 of the bevel gear 108. The top flange is held fast with the gear portion by bolts 158. The torsion tube 156 extends inside the neck 153 of the bevel gear 108. The exterior wall of the torsion tube is of circularly cylindrical profile. The exterior of the base 157 is configured with a splined structure which makes positive engagement with a corresponding structure in the frame 101 so as to hold the two in fixed relationship about axis 103. A bolt 159 extends through the frame 101 and into the base 157 to clamp them together. Thus, it is the torque sensor 150 that attaches the bevel gear 108 to the arm frame 101, and the torque applied about axis 103 is applied through the torque sensor. The torsion tube has a hollow interior and a relatively thin wall to its torsion tube 150. When torque is applied through the torque sensor there is slight torsional distortion of the torsion tube. The deflection of the torsion tube is measured by strain gauges 160 fixed to the interior wall of the torsion tube. The strain gauges form an electrical output indicative of the torsion, which provides a representation of the torque about axis 103. The strain gauges could be of another form: for example optical interference strain gauges which provide an optical output.

In order to get the most accurate output from the torque sensor, torque transfer from the bevel gear 108 to the frame 101 in a way that bypasses the torsion tube 156 should be avoided. For that reason, it is preferred to reduce friction between the neck 153 of the bevel gear 108 and the base 157 of the torque sensor. One possibility is to provide a gap between the neck of the bevel gear and both the base of the torque sensor and the torsion tube. However, that could permit shear forces to be applied to the torsion tube in a direction transverse to axis 103, which would itself reduce the accuracy of the torque sensor by exposing the strain gauges 160 to other than torsional forces. Another option is to introduce a bearing race between the interior of the neck of bevel gear 108 and the exterior of the base 157 of the torque sensor. However, that would substantially increase the volume occupied by the mechanism. Instead, the arrangement shown in FIG. 8 has been shown to give good results. A sleeve or bushing 161 is provided around the torsion tube 156 and within the neck 153 of the bevel gear 108. The sleeve is sized so that it makes continuous contact with the interior wall of the neck 153 and with the exterior wall of the torsion tube 156, which is also of circularly cylindrical profile. The whole of the interior surface of the sleeve makes contact with the exterior of the torsion tube 156. The whole of the exterior surface of the sleeve makes contact with the interior surface of the neck 153. The sleeve is constructed so that it applies relatively little friction between the neck and the torsion tube: for instance the sleeve may be formed of or coated with a low-friction or self-lubricating material. The sleeve is formed of a substantially incompressible material so that it can prevent deformation of the torque sensor under shear forces transverse to the axis 103. For example, the sleeve may be formed of or coated with a plastics material such as nylon, polytetrafluoroethylene (PTFE), polyethylene (PE) or acetal (e.g. Delrin®), or of graphite or a metal impregnated with lubricant.

For easy assembly of the mechanism, and to hold the sleeve 161 in place, the interior wall of the neck 153 of the bevel gear 108 is stepped inwards at 162, near its end remote from the radially extending gear portion 151. When the sleeve 161 is located between the neck 153 and the torsion tube 156, and the head 155 of the torque sensor is bolted to the gear portion 151 the sleeve is held captive both radially (between the torsion tube and the neck) and axially (between the head 155 of the torque sensor and the step 162 of the interior surface of the neck 153 of the bevel gear). It is preferred that the internal radius of the neck 153 in the region 163 beyond the step 162 is such that the internal surface of the neck in that region is spaced from the torque sensor 150, preventing frictional torque transfer between the two.

Similar arrangements can be used for the torque sensor about the other axis 102 of the embodiment of FIGS. 7 to 10, and for the torque sensors of the embodiments of the other figures.

Hall effect sensors are used to sense the rotational position of the joints. Each position sensor comprises a ring of material arranged around one of the rotation axes. The ring has a series of regularly spaced alternating north and south magnetic poles. Adjacent to the ring is a sensor chip with a sensor array comprising multiple Hall effect is devices which can detect the magnetic field and measure the position of the magnetic poles on the ring relative to the sensor array so as to provide a multi-bit output indicative of that relative position. The rings of magnetic poles are arranged such that each position of the respective joint within a 360° range is associated with a unique set of outputs from the pair of magnetic sensors. This may be achieved by providing different numbers of poles on each ring and making the numbers of poles the rings co-prime to each other. Hall effect position sensors employing this general principle are known for use in robotics and for other applications.

More specifically, associated with each joint is a pair of alternatingly magnetised rings, and associated sensors. Each ring is arranged concentrically about the axis of its respective joint. The rings are fast with an element on one side of the joint and the sensors are fast with an element on the other side of the joint, with the result that there is relative rotational motion of each ring and its respective sensor when there is rotation of the robot arm about the respective joint. Each individual sensor measures where between a pair of poles the associated ring is positioned relative to the sensor. It cannot be determined from the output of an individual sensor which of the pole pairs on the ring is above the sensor. Thus the individual sensors can only be used in a relative fashion and would require calibration at power up to know the absolute position of the joint. However by using a pair of rings designed so that the numbers of pole pairs in each ring has no common factors it is possible to combine the inter-pole pair measurement from both sensors and work out the absolute position of the joint without calibration.

The magnetic rings therefore operate as position scales to determine the rotational position between the arm parts 310 and 311 about a rotation axis. Each sensor may be associated with a respective position scale. A sensor for measuring the rotational position of arm part 311 relative to arm part 310 about a given rotation axis may be associated with a position scale arranged around that axis. A sensor and its associated position scale may be located on opposite sides of the joint with which they are associated such that there is relative rotation between the sensor and the scale when the arm is articulated about the associated joint. This enables the relative motion between the two arm parts connected by the joint to be measured.

The magnetic rings and sensors are shown in FIGS. 7 to 10. For the joint that provides rotation about axis 102 position is sensed by means of magnetic rings 200 and 201 and sensors 202 and 203. For the joint that provides rotation about axis 103 position is sensed by means of magnetic rings 210, 211, sensor 212 and a further sensor that is not shown. Magnetic ring 200 is fast with carrier 104 and mounted on one side of the carrier. Magnetic ring 201 is fast with carrier 104 and mounted on the other side of the carrier to magnetic ring 200. The magnetic rings 200, 201 are planar, and arranged perpendicular to and centred on axis 102. Sensors 202 and 203 are fast with the frame 100 of the arm part 310. Sensor 202 is mounted so as to be adjacent to a side of ring 200. Sensor 203 is mounted so as to be adjacent to a side of ring 201. Cables 204, 205 carry the signals from the sensors 202, 203. Magnetic ring 210 is fast with carrier 104 and mounted on one side of a flange 220 of the carrier. Magnetic ring 211 is fast with carrier 104 and mounted on the other side of the flange 220 to magnetic ring 200. The magnetic rings 210, 211 are planar, and arranged perpendicular to and centred on axis 103. Sensor 212 and the other sensor for rotation about axis 103 are fast with the frame 101 of the arm part 311. Sensor 212 is mounted so as to be adjacent to a side of ring 210. The other sensor is mounted so as to be adjacent to a side of ring 211.

Thus, in the arrangement of FIGS. 7 to 10, rotation about each of the axes 102, 103 is sensed by means of two multipole magnetic rings, each with a respective associated sensor. Each sensor generates a multi-bit signal representing the relative position of the nearest poles on the respective ring to the sensor. By arranging for the numbers of poles on the two rings to be co-prime the outputs of the sensors are in combination indicative of the configuration of the joint within a 360° range. This permits the rotation position of the joint to be detected within that range. Furthermore, in the arrangement of FIGS. 7 to 10 the two rings associated with each joint (i.e. rings 200, 201 on the one hand and rings 210, 211 on the other hand) are located so as to be substantially offset from each other along the axis of the respective joint. Ring 200 is located near the bearing 190 on one side of the body of carrier 104 whereas ring 201 is located near bearing 105 on the opposite side of the carrier 104. Ring 210 is located on one side of the flange 220 whereas ring 211 is located on the other side of the flange 220. Each ring is made of a sheet of material which is flat in a plane perpendicular to the axis about which the ring is disposed. The magnetic rings of each pair (i.e. rings 200, 201 on the one hand and rings 210, 211 on the other hand) are spaced from each other in the direction along their respective axes by a distance greater than 5 and more preferably greater than 10 or greater than 20 times the thickness of the rings of the pair. Conveniently, the rings of a pair can be on opposite sides of the respective joint, as with rings 200, 201. Conveniently the carrier 104 to which the both rings of a pair are attached extends radially outwardly so as to lie at a radial location that is between the rings when viewed in a plane containing the respective rotation axis. Thus, for example, flange 220 lies radially between rings 210 and 211. Conveniently the respective joint can be supported or defined by two bearings, one on either side of the joint along the respective axis, and at extreme locations on the joint, and the or each ring for that joint can overlap a respective one of the bearings in a plane perpendicular to the axis. Conveniently the sensors for the rings can be mounted on an arm part that is articulated by the joint. The sensors can be mounted on opposite sides of the arm part.

By spacing the rings apart the packaging of the joint and/or of the arm part where the associated sensors are mounted can be greatly improved. Spacing the rings apart allows for more opportunities to locate the rings at a convenient location, and allows the sensors to be spaced apart, which can itself provide packaging advantages. It is preferred that the joint is sufficiently stiff in comparison to the number of magnetic poles on the rings that torsion of the joint under load will not adversely affect measurement. For example it is preferred that the joint is sufficiently stiff that under its maximum rated operating load the elements of the joint cannot twist so much that it can cause a change in the order of magnetic transitions at the sensors, even though they are spaced apart. That permits direction to be detected, in addition to motion, for all load conditions.

Thus in the arrangements shown in FIGS. 7 to 10, the sensors 202, 203 and 212 sense the rotational position of arm part 311 relative to arm part 310 about axes 102 and 103 respectively by measuring the position of each sensor relative to its associated scale arranged about the relevant rotational axis. In the examples above, the scales take the form of magnetic rings, or tracks, 200, 201 and 202, 203. In other words, sensors 202 and 203 measure the rotational position of arm part 311 relative to arm part 310 about axis 102 by measuring the position of those sensors relative to associated scales 210 and 211 respectively, where both scales 210 and 211 are disposed about axis 102. Sensor 212 measures the rotational position of arm part 311 relative to arm part 310 about axis 103 by measuring the position of that sensor relative to the associated scale 211 disposed about axis 103.

Arm part 311 is distal of arm part 310. Arm part 310 is proximal of the joint about axes 102 and 103 shown in FIGS. 7 to 10. As discussed with reference to FIG. 1, data from the torque sensors and the position sensors to be fed back to the control unit 10. It is desirable for that data to be passed by wired connections that run through the arm itself.

Each arm part comprises a circuit board. FIGS. 7 to 10 show a circuit board 250 carried by arm part 311. Each circuit board includes a data encoder/decoder (e.g. integrated circuit 251). The encoder/decoder converts signals between formats used locally to the respective arm part and a format used for data transmission along the arm. For example: (a) locally to the arm part the position sensors may return position readings as they are passed by magnetic pole transitions, the torque sensor may return an analogue or digital signal indicative of the currently sensed torque and the drive motors may require a pulse width modulated drive signal; whereas (b) for data transmission along the arm a generic data transmission protocol, which may be a packet data protocol such as Ethernet, can be used. Thus the encoders/decoders can receive data packets conveyed along the arm from the control unit 10 and interpret their data to form control signals for any local motor, and can receive locally sensed data and convert it into packetised form for transmission to the control unit. The circuit boards along the arm can be chained together by communication cables, so that communications from a relatively distal board go via the more proximal boards.

In general it is desirable not to feed data from one component of the arm to a more distal component of the arm. Doing so would involve cables running unnecessarily distally in the arm, increasing distally distributed weight; and since the circuit boards are chained together once data has been sent to a relatively distal board the next most proximal board will handle the data anyway in order to forward it.

However, it may also be desirable to minimise the number of cables that cross a joint due to the potential difficulty in suitably arranging such cables so as to avoid them being damaged by articulations of the joint and/or avoid them interfering with the joint articulations. In certain circumstances these two requirements may conflict, meaning a suitable arrangement of the cables may involve managing that conflict.

Described below are a number of arrangements of the cables and their connections to the position and torque sensors that may be suitable for managing this conflict for different implementations of the robotic arm.

The first arrangement to be described is that illustrated in FIGS. 7 to 10.

The compound joint about axes 102, 103 has rotary position sensors 202, 203 (for rotation about axis 102) and 212 (for rotation about axis 103). Sensors 202, 203 are mounted on the frame 100 of the arm part 310 that is proximal of the joint whose motion is measured by the sensor. Data from position sensors 202, 203 is fed along cables 204, 205 which lead along arm part 310 proximally of the sensors. Sensor 212 is mounted on the frame 101 of the arm part 311. Data from position sensor 212 is fed along a cable to circuit board 250 on the same arm part. In each case the data is not passed to a more distal element of the arm than the one where the data was collected.

The compound joint about axes 102, 103 has torque sensors 150 (for rotation about axis 103) and 191 (for rotation about axis 102). Data sensed by torque sensors 150, 191 is carried in native form to circuit board 250 by flexible cables. At circuit board 250 the encoder/decoder 251 encodes the sensed data, e.g. to Ethernet packets, and transmits it to the control unit 10. Thus, rather than being fed to the circuit board of the more proximal arm part 310 for encoding, the data from the torque sensors is passed to the circuit board of the more distal arm part for encoding, and then from that circuit board it is passed by cables in a distal direction along the arm.

This arrangement is illustrated in FIG. 11. Arm part 310 comprises circuit board 195 which receives data from position sensor 202 and provides command data to motors 109, 110. Arm part 311 comprises circuit board 250 which receives data from position sensor 212 and torque sensors 150, 191. Circuit board 250 encodes that sensed data and passes it over a data bus 196 to circuit board 195, which forwards it on towards control unit 10 via a link 197. Position sensor 202 is connected directly by a cable to circuit board 195. Position sensor 212 and torque sensors 150, 191 are connected directly by cables to circuit board 250. Circuit board 250 and circuit board 195 are connected by data bus 196. Position sensor 212 and torque sensors 150, 191 are coupled to the circuit board 195 via circuit board 250 (and data bus 196).

Thus in the arrangement shown in FIG. 11, both torque sensors 150 and 191 are connected by respective data cables to the circuit board 250 located in the distal arm part 311. One position sensor (sensor 212) is also connected by a data cable to the circuit board 250; and one position sensor (sensor 202) is connected by a data cable to the circuit board 195 located in the proximal arm part 310.

Various aspects of this arrangement may be advantageous in minimising the number of distally located components in the arm whilst also minimising the number of cables that cross the joint.

For example, it is often desirable to measure the ‘output’ torque (i.e. the torque actually applied across a joint), rather than the ‘input’ torque (i.e. the torque provided by the joint actuator (e.g. motor) before it is applied to the joint) since this may provide more accurate control of the robot arm motion. Thus in the arrangements shown in FIGS. 7 to 10, the torque sensor 191 couples the drive gear 107 to the carrier 104 and the torque sensor 150 couples the drive gear 108 to the distal arm part 311. The torque sensor 191 may be attached to both the drive gear 107 and the carrier 104; and the torque sensor 191 may be attached to both the drive gear 108 and the distal arm part 311. Thus torque sensor 191 is located downstream of gear 107; that is, torque is serially transferred through a drive train from gear 107, to torque sensor 191 through to carrier 104. Similarly, torque sensor 150 is located downstream of gear 108; thus torque is serially transferred through a drive train from gear 108, to torque sensor 150 through to arm part 311. Since torque sensor 150 is located distally of the drive gear 108, it is convenient for this torque sensor to be connected via a data cable to the circuit board 250 carried by the distal arm part 311. This avoids the data cable for torque sensor 150 traversing the compound joint.

It is also often desirable for the position sensors to measure the actual outputs of the joint motion (e.g. the relative position between the arm parts 310 and 311 about a joint) rather than measuring an output of the joint actuator (e.g., the rotational position of shafts 111 and/or 112). This is because a measured joint position may provide more accurate input data for the control system than the measured position of the driving actuator used to drive the joint. In order to directly measure the position of the joints, each sensor is located on one side of a joint and is associated with a respective magnetic track, or scale, located on the other side of that joint. The relative rotational motion between a sensor and its associated scale when the arm is articulated about the joint is used to determine the position of the arm parts with respect to each other about that joint. The sensors communicate data representing a sensed position about a joint via a data cable. That is, the sensors are wired components in that they are attached to a data cable. The position scales may be wireless components, for example in the case that the scales are magnetic rings.

Thus it is convenient if sensor 202 (which measures the position between arm part 310 and carrier 104 about axis 102) is located within arm part 310; and if sensor 212 (which measures the position between the carrier 104 and the arm part 311) is located within arm part 311. In other words, sensor 202 is located proximally of the joints, and sensor 212 is located distally of the joints and both associated scales 200, 210, are located on the carrier 104. In other words, the wired components are located on opposing sides of the joints and the wireless components are located on the carrier interposed between the wired components. In this way sensor 202 can be connected via a data cable to its local circuit board 195 and sensor 212 can be connected via a data cable to its local circuit board 250, avoiding either data cable from crossing the joints.

In the arrangement shown in FIG. 11, torque sensor 191 is connected to the circuit board 250 located within the distal arm part 311. In certain implementations, this may be the most convenient arrangement; however, in other implementations it may be more convenient (from a design or manufacture perspective) for sensor 191 to be connected via a data cable to the circuit board 195 located in proximal arm part 310. Though this would require the data cable to traverse the joint with rotation axis 102, it may nevertheless be physically easier to arrange the sensor and cable in this way to fit into the design of the robot or assemble into the robot during its manufacture.

FIG. 12 shows an example of this alternative arrangement.

Proximal arm part 310 is shown connected to distal arm part 311 via wrist 5. The proximal arm part 310 again comprises circuit board 195 located proximally of the joints. Both position sensor 202 and torque sensor 191 are connected directly to the circuit board 195 via respective cables to transfer data from the sensors to the circuit board. Circuit board 195 encodes the sensed data from sensors 202 and 191 and communicates it to the control unit 10 via data link 197. Arm part 311 comprises circuit board 250 located distally of the joints. Position sensor 212 and torque sensor 150 are connected directly to circuit board 250 via respective data cables. Circuit board 250 encodes the sensed data from sensors 150 and 212 and communicates it to circuit board 195 via a data bus 196. Data bus 196 therefore crosses the joints. Again, sensors 202 and 212 are located on opposite sides of the compound joint of the wrist 5, i.e. sensors 202 and 212 are separated by the compound joint (and the carrier 104).

The arrangement of position and torque sensors and their data cables within the robot arm has so far been discussed with respect to compound joints. However, the position and connection of data sensors to communications units is also a consideration for revolute joints (i.e. joints with a single degree of freedom).

FIG. 13 shows an arrangement of position and torque sensors within a robot arm for a revolute joint connecting two adjacent limbs, or arm parts.

In particular, arm part 501 is connected to arm part 502 via a single joint 503. Arm part 502 is distal of arm part 501. Joint 503 is a revolute joint having a single axis of rotation 504 (oriented into the page in this view) that permits arm part 502 to be articulated with respect to arm part 501. No other joints connect arm parts 501 and 502 to each other. A motor 505 drives a drive shaft 506 to rotate about its longitudinal axis. Drive shaft 506 has affixed at its terminal end a shaft gear 507, in the form of a pinion in this example. Gear 507 engages a drive gear 508 (shown in this example as a bevel gear). Gear 508 is arranged about axis 504, and is rotatably mounted on an axle (not shown) coincident with this axis. Gear 508 is fast with the distal arm part 502. When motor 505 drives shaft 506, rotation of the shaft gear 507 drives gear 508 to rotate about its axis of rotation 504, in turn causing arm part 502 to articulate with respect to arm part 501 about axis 504.

A position sensor unit (denoted generally at 511) measures the rotational position of the joint 503. The position sensor unit comprises a sensor 512 and an associated position scale 513. The sensor 512 is located within the proximal arm part 501. It may be mounted to an element (e.g. a frame) within the arm part 501. The position scale 513 is fast with the drive gear 508 and is arranged around the rotation axis 504 (only a portion of the scale 513 is shown in FIG. 13 for clarity). Thus sensor 512 and scale 513 are located on opposite sides of the joint 503 and thus undergo relative rotational motion when arm parts 501 and 502 are articulated with respect to each other about axis 504 (i.e. when joint 503 is articulated). The position scale 513 may be in the form of a magnetic track, or ring, as described above with reference to FIGS. 7 to 10. The position scale may operate in the same manner as magnetic rings 200, 201, 210 and 212 as described above.

Having the position sensor and position scale on opposing sides of the joint enables the joint position to be measured directly, as opposed to measuring the position of the joint actuator output (such as the position of drive shaft 506). This is advantageous because the measured joint position may be a more useful input to the control unit 10 than the output of the joint actuator.

A torque sensor unit 514 measures the torque applied about the joint 503. The torque sensor may sit on the axle about which the drive gear 508 rotates. Torque sensor 514 may be in the same arrangement and operate in the same manner as torque sensors 150 and 191. Torque sensor 514 couples the drive gear 508 to the arm part 502. The torque sensor 514 may be connected to both the gear 508 and arm part 502. Thus torque sensor 514 may be interposed between the drive gear 508 and arm part 502. Torque sensor 514 is therefore located downstream, or distally, of gear 508 so that when joint 503 is articulated, torque is serially transferred from gear 508, through sensor 514 to arm part 502. As was described above, such an arrangement enables the sensor 514 to measure the torque applied through the joint 503, as opposed to the output torque of the joint actuator. This is advantageous because the sensed value of the torque applied through the joint may provide a more accurate input to the control unit of the robot arm.

The robot arm comprises communications units 509 and 510 in the form of circuit boards. Communications unit 509 is located in arm part 501 and communications unit 510 is located in arm part 502. Communications unit 509 is therefore proximal of joint 503; and communications unit 510 is distal of joint 503. Communications units 509 and 510 are interconnected by a data bus 517.

Communications unit 509 is connected to sensor 512 by a data cable 515 extending along the proximal arm part 501. The cable 515 may directly connect the sensor 512 to the communications unit 509. The data cable 515 communicates sensed position data of the joint 503 to the communications unit 509. That data may be referred to as raw data. Communications unit 509 encodes the sensed data and communicates the encoded data to the control unit 10 over communications link 516. Communications link 516 could be a physical link, such as a cable, or a data bus. Communications unit 509 may operate in the same manner as circuit board 195 descried above. In particular, the communications unit 509 may packetize the sensed data from sensor 512 (e.g. to Ethernet packets) and communicate those packets to the control unit. The communications unit 509 may also provide command data to the motor 505. The command data may be provided over a physical link (e.g. a cable) that interconnects the communications unit 509 and motor 505.

Communications unit 510 is connected to torque sensor 514 by a data cable 518 extending along the distal arm part 502. Cable 518 may directly connect the torque sensor 514 and communications unit 510. Cable 518 communicates sensed torque data applied through the joint 503 (which may be referred to as raw data) to the communications unit 510. Communications unit 510 may operate to encode the sensed torque data in the same manner as circuit board 250 described above. The communications unit 510 encodes the sensed torque data and communicates the encoded torque data to the communications unit 509 via the data bus 517. The is encoded sensed torque data is therefore communicated distally along the arm from communications unit 510 to communications unit 509. Torque sensor 514 is therefore coupled to the proximal communications unit 509 via the distal communications unit 510.

Thus in the arrangement shown in FIG. 13, sensed position data is communicated upstream, or proximally, of joint 503 (i.e. in the proximal direction relative to joint 503). Sensed torque data, on the other hand, is communicated downstream, or distally, of joint 503 (i.e. in the distal direction relative to joint 503).

This arrangement is advantageous in that it enables sensed data from the position and torque sensors to be communicated to a communications unit without having the data cables carrying that data cross the joint 503. This limits data communication that crosses the joint 503 only to that via the bus 517.

Various modifications and alternatives to the embodiments shown in FIGS. 11 to 13 may be made. For example:

In FIG. 13, the position sensor 512 is connected by a data cable to the communications unit 509 borne by the proximal arm part 501. This is because sensor 512 is borne by the proximal arm part 501 and the associated position scale 513 borne by the distal arm part 502, so that sensor 512 and scale 513 are on opposite sides of joint 513. In an alternative arrangement, the sensor 512 may be borne by the distal arm part 502 and the associated position scale 513 may be borne by the proximal arm part 501. For example, the position scale may be arranged about rotation axis 504 (as before) but be fast with the arm part 501 and rotatable with respect to the arm part 502 (and hence drive gear 508) about axis 504. Sensor 512 may be fast with the drive gear 508 and arm part 502, and thus the sensor and arm part still undergo relative motion when joint 503 is articulated. If sensor 512 is borne by the distal arm part 502, it is convenient for the sensor to be connected to the communications unit 510 by a data cable running along the arm part 502, rather than communications unit 509. This again avoids the data cable that communicates sensed data from sensor 512 from crossing the joint.

The cables that connect the sensors to the circuit boards in the arrangement of FIG. 13 have been described as data cables. The data cables could be electrical cables. Alternatively, the sensors and circuit boards could be connected by some other type of physical data link, such as optical fibres.

The physical data links for each arrangement in FIGS. 11 to 13 could be located at various positions within the robot arm. In one set of examples, each arm part, or limb, comprises a casing defining an exterior surface, or wall, of that arm part. The physical data links could run within the exterior wall. In an alternative set of examples, the physical data links could be mounted externally of the exterior wall. For example, they may each be mounted to the exterior surface of the exterior wall.

The arrangement of FIG. 13 has been described as including only a single position sensor 512 and associated position scale 513. The arrangement could include a second sensor and associated position scale laterally spaced to sensor 512 and scale 513 along the direction of the rotation axis 504. This would enable the angular position of joint 504 to be determined without the need to perform a calibration step.

The position scales in FIG. 13 have been described as magnetic tracks, or rings. The rings are arranged about the axis 504. In another example the position scale may be in the form of a resistive or conductive track arranged about axis 504. In this case, sensor 512 may comprise a conductive wiper attached to the track. The wiper moves relative to the track when joint 503 is articulated. This changes the resistance between a point on the track and wiper such that the resistance is a function of the wiper position. The sensor then uses the measured resistance to determine the wiper (and hence joint 503) position.

The drive gear 508 and shaft gear 507 of FIG. 13 have been chosen merely as an example to illustrate a revolute joint. It will be appreciated that the arrangement of the sensors and data cables in FIG. 13 is applicable to other types of gearing used to articulate a revolute joint. For example, drive gear 508 could be a spur gear, a bevel gear, a hypoid gear etc. Shaft gear 507 could be a spur gear, bevel gear, worm, etc.

As illustrated in FIG. 2, arm part 4 c is borne by arm part 311 and can be rotated is relative to arm part 4 c about axis 307. FIG. 14 shows a cross-section through a module that comprises arm part 4 c. The module has a base 400 and a side-wall 440 which is fast with the base. Base 400 attaches to the end face 401 of the distal end of arm part 311. (See FIG. 7). Arm part 4 c is indicated generally at 403. Arm part 4 c is rotatable relative to the base about an axis 402 corresponding to axis 307 of FIG. 2. To that end, arm part 4 c is mounted to the side-wall 440 by bearings 430, 431 which define a revolute joint between side wall 440 and arm part 4 c about axis 402.

Arm part 4 c has a housing 404 which houses its internal components. Those components include a circuit board 405 and motors 406, 407. Motors 406, 407 are fixed to the housing 404 so they cannot rotate relative to it. The housing 404 is free to rotate relative to the base 400 by means of the bearings 430, 431. A channel 408 runs through the interior of the module to accommodate a communication cable (not shown) passing from circuit board 250 to circuit board 405. The communication cable carries signals which, when decoded by an encoder/decoder of circuit board 405, cause it to issue control signals to control the operation of motors 406, 407.

Motor 406 drives rotation of arm part 4 c relative to arm part 311. Thus, motor 406 drives rotation of housing 404 relative to base 400. Base 400 has a central boss 410.

A torque sensor generally of the type discussed in relation to FIGS. 9 and 10 is attached to the boss 410. The torque sensor has an integral member comprising a base 411, a torsion tube 412 and a radially extending head 413. The base 411 of the torque sensor is fast with the boss 410 of the base 400. As with the torque sensor of FIGS. 9 and 10, a sleeve 421 extends around the torsion tube of the torque sensor to protect it from shear forces and to reduce friction between it and the surrounding component, which is the base 400.

An internally toothed gear 420 is fast with the head 413 of the torque sensor. Motor 406 drives a shaft 414 which carries a pinion gear 415. Pinion gear 415 engages the internal gear 420. Thus, when the motor 406 is operated it drives the pinion gear 415 to rotate and this causes the arm part 4 c, of which the motor 406 is part, to rotate about axis 402. The resulting torque about axis 402 is transmitted to the base 400 through the torsion tube 412 of the torque sensor, allowing that torque to be measured is by strain gauges attached to the torsion tube.

The interface 8 for attachment to an instrument is shown in FIG. 14. The shaft 440 of motor 407 is exposed at the interface for providing drive to an instrument.

Torque data from the torque sensor 411, 412, 413 is passed to circuit board 250 on arm part 311 for encoding. The rotational position of arm part 4 c can be sensed by a sensor 445 carried by arm part 4 c and which detects transitions between magnetic poles on rings 446, 447 mounted on the interior of housing 404. Data from sensor 445 is passed to circuit board 405 of arm part 4 c for encoding.

The motors that drive rotation about joints 102 and 103 are mounted proximally of those joints, in arm part 310. As discussed above, this improves weight distribution by avoiding weight being placed nearer to the distal end of the arm. In contrast, the motor that drives rotation of arm part 4 c is mounted in arm part 4 c rather than in arm part 311. Although this might be seen as disadvantageous due to it requiring motor 406 to be mounted more distally, it has been found that this allows for arm part 311 to be especially compact. Motor 406 can be packaged in arm part 4 c in parallel with the motor(s) (e.g. 407) which provide drive to the instrument: i.e. so that the motors intersect a common plane perpendicular to the axis 402. That means that incorporation of motor 406 in arm part 4 c need not make arm part 4 c substantially longer. Instead of toothed gears, the drive of the joints could be by frictional means. The applicant hereby discloses in isolation each individual feature described herein and any combination of two or more such features, to the extent that such features or combinations are capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein, and without limitation to the scope of the claims. The applicant indicates that aspects of the present invention may consist of any such individual feature or combination of features. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention. 

The invention claimed is:
 1. A robot arm having a compound joint comprising a first revolute joint and a second revolute joint between a first limb of the arm and a second limb of the arm, the second limb of the arm being distal of the first limb, the arm comprising: a coupler element coupled to the first limb of the arm by the first revolute joint having a first rotation axis and to the second limb of the arm by the second revolute joint having a second rotation axis; first and second rotational position sensors for sensing the configuration of the arm about the first and second joints respectively; first and second torque sensors for sensing the torque applied about the first and second joints respectively; a control unit for controlling the operation of the arm; a first communications unit borne by the first limb and located proximally of the coupler and a second communications unit borne by the second limb and located distally of the coupler, each communications unit configured to encode data received from one or more of the position and/or torque sensors in a first data format into data packets and transmit those packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the first position sensor is connected by a physical data link running within an exterior wall of the first limb to the first communications unit so as to pass data representing sensed position about the first joint to the first communications unit for encoding and the first torque sensor is connected by a physical data link running within an exterior wall of the second limb to the second communications unit so as to pass data representing sensed torque about the first joint to the second communications unit for encoding.
 2. A robot arm as claimed in claim 1, wherein the second position sensor is connected by a physical data link running within an exterior wall of the second limb to the second communications unit so as to pass data representing sensed position about the second joint to the second communications unit for encoding.
 3. A robot arm as claimed in claim 1, wherein the second torque sensor is connected by a physical data link running within an exterior wall of the second limb to the second communications unit so as to pass data representing sensed torque about the second joint to the second communications unit for encoding.
 4. A robot arm as claimed in claim 1, wherein the second torque sensor is connected by a physical data link running within an exterior wall of the first limb to the first communication unit so as to pass data representing sensed torque about the second joint to the first communications unit for encoding.
 5. A robot arm as claimed in claim 1, wherein the second position sensor is connected by a physical data link running within an exterior wall of the first limb to the first communications unit so as to pass data representing sensed position data about the second joint to the first communications unit for encoding.
 6. A robot arm as claimed in claim 1, wherein the second communications unit is connected to the control unit via the first communications unit.
 7. A robot arm as claimed in claim 1, wherein the first limb comprises motors for driving motion about the first and second joints, and the motors are connected by physical data links to the first communications unit for receiving command signals therefrom.
 8. A robot arm as claimed in claim 1, wherein the first and second axes are transverse to each other.
 9. A robot arm as claimed in claim 1, wherein the first and second joints are part of a wrist of the robot.
 10. A robot arm comprising a first limb, and a second limb distal of the first limb and coupled to the first limb by a single revolute joint for articulating the first and second limbs with respect to each other about a rotation axis; the arm comprising: a torque sensor for sensing the torque about the joint; a control unit for controlling the operation of the robot arm; and a first communications unit borne by the second limb and located distally of the revolute joint, the first communications unit being configured to encode data received from the torque sensor in a first data format into data packets and transmit those data packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the torque sensor is connected by a physical data link running along the second limb to the first communications unit so as to pass data representing the sensed torque about the joint to the first communications unit for encoding.
 11. A robot arm as claimed in claim 10, further comprising: a rotational position sensor for sensing the configuration of the arm about the rotation axis; and a second communications unit borne by the arm and located proximally of the revolute joint, the second communications unit configured to encode data received from the position sensor in a first data format into data packets and transmit those data packets to the control unit in accordance with a packet-based data protocol different from the first data format; wherein the rotational position sensor is connected by a physical data link running along the first limb to the second communications unit so as to pass data representing the configuration of the arm about the rotation axis to the second communications unit for encoding.
 12. A robot arm as claimed in claim 11, wherein the second communication unit is borne by the first limb.
 13. A robot arm as claimed in claim 11, further comprising a drive gear located within the second limb and rotatably mounted about the rotation axis so as to rotate relative to the first limb, wherein the position sensor is borne by the first limb and associated with a position scale borne by the second limb.
 14. A robot arm as claimed in claim 13, wherein the position sensor is mounted to the first limb and the position scale is arranged around the rotation axis.
 15. A robot arm as claimed in claim 11, wherein the first communications unit is connected to the control unit via the second communications unit.
 16. A robot arm as claimed in claim 10, further comprising a rotational position sensor for sensing the configuration of the arm about the rotation axis; wherein the first communications unit is further configured to encode data received from the position sensor in a first data format into data packets and transmit those data packets to the control unit in accordance with a packet-based data protocol different from the first data format; and wherein the rotational position sensor is connected by a physical data link running along the second limb to the first communications unit so as to pass data representing the configuration of the arm about the rotation axis to the first communications unit for encoding.
 17. A robot arm as claimed in claim 16, further comprising a drive gear located within the second limb and rotatably mounted about the rotation axis so as to rotate relative to the first limb, wherein the position sensor borne by the drive gear and associated with a position scale borne by the first limb.
 18. A robot arm as claimed in claim 17, wherein the position scale is arranged around the rotation axis.
 19. A robot arm as claimed in claim 10, further comprising a drive gear located within the second limb and rotatably mounted about the rotation axis so as to rotate relative to the first limb, wherein the torque sensor couples the drive gear to the second limb. 